ci: add enrich_extra_flags.py for re-runnable PIO extra_flags sweep#307
Conversation
|
Warning Review limit reached
More reviews will be available in 20 minutes and 50 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Adds a re-runnable Python tool that fetches `build.extra_flags` from upstream PlatformIO board JSONs (platformio + maxgerhardt forks) and patches missing fields into fbuild's bundled `assets/boards/json/*.json`. Existing values are never overwritten. The actual JSON sweep this enabled has already landed via #312; preserving the script for future re-runs (new boards, upstream changes, or new community forks). Usage: uv run python ci/enrich_extra_flags.py # all platforms uv run python ci/enrich_extra_flags.py nordicnrf52 # one platform Note: prior versions of this PR also carried duplicate copies of the build_info.json emitter (#297 → landed as #309), the Teensyduino CMSIS-DSP auto-link (#300 → landed as #313), and the extra_flags JSON sweep itself (#298 → landed as #312). All three landed independently; this branch is squashed down to just the enrichment script. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
8071487 to
9a4d7ea
Compare
Summary
Adds a re-runnable Python tool —
ci/enrich_extra_flags.py— that fetchesbuild.extra_flagsfrom upstream PlatformIO board JSONs (platformio + maxgerhardt forks) and patches missing fields into fbuild's bundledassets/boards/json/*.json. Existing values are never overwritten.Why this is a 1-file PR now
The original PR was a bundle of three related changes. All three landed independently while this branch was open:
build_info_<env>.jsonemitterbuild.extra_flagsbroad JSON sweepThe JSON sweep that #312 enacted was driven by an early version of this exact script. Preserving the script in the repo lets us re-run the sweep when:
extra_flagsthey didn't have beforeTest plan
python -c "import ast; ast.parse(open('ci/enrich_extra_flags.py').read())"— syntax cleanurllib-only (no subprocess) → subprocess-spawn lint not affected🤖 Generated with Claude Code